/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.osdtsystem.options;

/**
 * Interface for HPM classification parameters.
 * @author Matthias Buch-Kromann
 */
public interface CoverOptions {
    /**
     * The maximal class depth of a subclass relative
     * to its parent class in a classification.
     * @return the maximal relative class depth
     */
    public int maximalClassDepth();


    /**
     * The minimal number of data points in a subclass in a classification.
     * @return the minimal number of data points
     */
    public int classificationMinClassCount();

    /**
     * The minimal relative class size of a subclass in a classification. The
     * absolute class count is computed relative
     * to the number of data points in the currently largest subclass in the classification.
     * @return the minimal relative class size
     */
    public double classificationMinRelativeClassSize();

    /**
     * Set the maximal relative class depth.
     * @param maxClassDepth the maximal relative class depth.
     */
    public void setClassificationMaxClassDepth(int maxClassDepth);

    /**
     * Set the minimal class count.
     * @param minClassCount
     */
    public void setClassificationMinClassCount(int minClassCount);

    /**
     * Set the minimal relative class size.
     * @param minRelativeClassSize
     */
    public void setClassificationMinRelativeClassSize(double minRelativeClassSize);
}
